package com.itheima.dao.setmeal;

import com.itheima.pojo.Setmeal;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;
import java.util.Map;

/**
 * @author 胡桂明
 * @since 2021/11/4 11:25
 */
/**
 * @author 陈英航
 * @since 2021/11/4 16:40
 */
public interface SetmealDao {
    /**
     * 新增
     *
     * @param setmeal 传入对象数据
     * @return 返回结果
     */
    boolean save(Setmeal setmeal);

    /**
     * 删除
     * @param id 删除条件
     * @return 返回结果
     */
    boolean delete(int id);

    /**
     * 修改
     * @param setmeal 传入对象数据
     * @return 返回结果
     */
    boolean update(Setmeal setmeal);

    /**
     * 按ID查找-修改用
     * @param id 查询条件
     * @return 返回查询结果
     */
    Setmeal findById(String id);

    /**
     * 查询全部
     * @param value 查询条件
     * @return  返回查询结果
     */
    List<Setmeal> findAll(@Param("value") String value);


    /**
     * 查询预约套餐占比
     * @return  返回查询结果
     */
    @Select(" select s.name,count(o.id) as value \n" +
            "  \tfrom t_order o ,t_setmeal s \n" +
            "  \twhere o.setmeal_id = s.id \n" +
            "  \tgroup by s.name")
    List<Map<String, Object>> findSetmealCount();


}